package cz.semjobKB.search.impl;

import cz.semjobKB.conllx.node.EConstituent;
import cz.semjobKB.conllx.node.EWordType;
import cz.semjobKB.search.api.INodeRule;

/**
 * Stores information about rule Node
 */
public class NodeRule implements INodeRule {

	private EConstituent nodeType;
	
	private boolean isDepend;
	
	private EConstituent parentNodeType;
	
	private EWordType wordType;

    /**
     * Constructor
     * @param nodeT         Constituent
     * @param bindingEnable Node dependent
     * @param parentNodeT   Dependent parent node
     * @param wordType      Word type
     */
	public NodeRule(EConstituent nodeT, boolean bindingEnable, EConstituent parentNodeT, EWordType wordType) {
		this.nodeType = nodeT;
		this.isDepend = bindingEnable;
		this.parentNodeType = parentNodeT;
		this.wordType = wordType;		
	}
	
	
	public EConstituent getType() {
		return nodeType;
	}

	
	public boolean isDependent() {		
		return isDepend;
	}

	
	public EConstituent getParentType() {
		return parentNodeType;
	}

	
	public EWordType getWordType() {
		return wordType;
	}

}
